const db = require('../db/index')

// 医生发布文章
exports.sendArticle = (req, res) => {
    const artic = req.body
    // 定义发布文章的sql语句
    const sql = `insert into medical_knowledge set ?`
    db.query(sql, { doc_id: req.user.id, title: artic.title, content: artic.content, release_time: new Date() }, (err, results) => {
        if (err) return res.cc(err)
        // 判断影响数据库行数是否为1
        if (results.affectedRows !== 1) return res.cc('提交失败，请稍后再试！')
        res.cc('提交成功', 0)
    })
}
/**
 * 医生查看自己的文章,可以指定文章状态
 * @param { doc_id,status} req 
 * @param {results} res 
 * 
 */
exports.getMyArticle = (req, res) => {
    const sql = `SELECT * FROM medical_knowledge WHERE doc_id=? AND state=?`
    db.query(sql, [req.user.id, req.query.state], (err, results) => {
        // 执行sql语句失败
        if (err) return res.cc(err)
        // 执行sql语句成功，但没有对应的数据
        if (results.length == 0) return res.cc('暂无此状态的文章！', 0)

        // 获取文章成功
        res.send({
            status: 0,
            message: '获取待审核文章成功！',
            data: results
        })
    })
}
/**
 * @method GET
 * @param {state} req 
 * @param {*} res 
 */
// 获取相应状态的所有文章
exports.getCheckArticle = (req, res) => {
    const sql = `SELECT * FROM medical_knowledge WHERE state=?`
    db.query(sql, [req.query.state], (err, results) => {
        // 执行sql语句失败
        if (err) return res.cc(err)
        // 执行sql语句成功，但没有对应的数据
        if (results.length == 0) return res.cc('暂无此状态的文章！', 0)

        // 获取待审核文章成功
        res.send({
            status: 0,
            message: '获取文章成功！',
            data: results
        })

    })
}

// 管理员审核文章
exports.auditArticle = (req, res) => {
    console.log(req.query)
    const params = req.query
    const sql = `update medical_knowledge set state=? where id=?`
    db.query(sql, [params.state, params.id], (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功，但影响行数不等于1
        if (results.affectedRows !== 1) return res.cc('审核失败！')
        // 成功
        res.cc('审核成功', 0)
    })
}